package cn.shujuhai.common.config;

import jakarta.servlet.DispatcherType;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @Author: NiuYaHu
 * @Date: 2025/5/14 15:02
 * @Description:
 **/
@Configuration
public class XssFilterConfig {
    // 定义一个Bean，注册XssFilter到Spring容器
    @Bean
    public FilterRegistrationBean<XssFilter> xssFilterRegistrationBean() {
        FilterRegistrationBean<XssFilter> registration = new FilterRegistrationBean<>();
        registration.setDispatcherTypes(DispatcherType.REQUEST); // 指定这个过滤器只处理请求
        registration.setFilter(new XssFilter()); // 设置过滤器的实现类
        registration.addUrlPatterns("/*"); // 指定过滤器处理的URL模式，/*表示所有请求
        registration.setName("XssFilter"); // 设置过滤器的名称
        registration.setOrder(Integer.MAX_VALUE); // 设置过滤器的执行顺序，Integer.MAX_VALUE表示最后执行
        return registration;
    }
}